La struttura Window Qui di seguito viene descritta la struttura Window con tutti i suoi campi pių importanti: struct Window { struct Window *NextWindow; /* puntatore alla prossima finestra */ WORD LeftEdge,TopEdge,Width,Height; WORD MouseY,MouseX; WORD MinWidth, MinHeight; /* grandezza minima */ UWORD MaxWidth, MaxHeight; /* grandezza massima */ ULONG Flags; /* flags della finestra */ struct Menu *MenuStrip; /* puntatore al menų */ UBYTE *Title; /* titolo di questa finestra */ struct Requester *FirstRequest; /* puntatore ai Requesters attivi */ struct Requester *DMRequest; /* double-click Requester */ WORD ReqCount; struct Screen *WScreen; struct RastPort *RPort; BYTE BorderLeft,BorderTop,BorderRight,BorderBottom; struct RastPort *BorderRPort; struct Gadget *FirstGadget; /* gadgets della finestra */ struct Window *Parent, *Descendant; /* informazioni sullo sprite del puntatore della finestra */ UWORD *Pointer; /* dati dello sprite */ BYTE PtrHeight; /* altezza dello sprite */ BYTE PtrWidth; /* larghezza dello sprite */ BYTE XOffset, YOffset; /* offsets dello sprite */ struct MsgPort *UserPort,*WindowPort; /* porte della finestra */ struct IntuiMessage *MessageKey; UBYTE DetailPen,BlockPen; /* per la colorazione di bar/border/gadget */ struct Image *CheckMark; /* immagine checkmark per i menų */ UBYTE *ScreenTitle; /* titolo dello schermo quando la finestra č attiva */ WORD GZZMouseX,GZZMouseY,GZZWidth,GZZHeight; UBYTE *ExtData; BYTE *UserData; struct Layer *WLayer; struct TextFont *IFont; ULONG MoreFlags; /* altri flags (dalla V36) */ }; LeftEdge,TopEdge,Width,Height Queste variabili contengono le attuali informazioni di posizione e dimensione della finestra MouseX,MouseY,GZZMouseX,GZZMouseY Indicano la posizione del puntatore del mouse, rispetto all'angolo in alto a sinistra della finestra; per le finestre GimmeZeroZero le variabili GZZ indicano la posizione relativa al layer interno (vedere tipi di finestra), altrimenti indica la posizione relativa all'angolo in alto a sinistra della finestra dopo il bordo ReqCount Contiene il numero dei rquesters correntemente visualizzati nella finestra WScreen Il puntatore allo schermo su cui la finestra č visualizzata RPort Puntatore alla struttura RastPort della finestra (la struttura RastPort serve per disegnare e in genere per tutte le operazioni grafiche, vedremo meglio questo argomento in una delle prossime puntate) BorderLeft,BorderTop,BorderRight,BorderBottom Indicano l'attuale grandezza dei bordi della finestra (da sinistra, sopra, destra e sotto) BorderRPort Con le finestre GimmeZeroZero, indica il puntatore alla RastPort del layer esterno UserData Puntatore di utilizzo libero per l'applicazione